The present invention relates to a control apparatus which controls a synchronous motor without using a position sensor.
In general, a position sensor such as encoder, a resolver, or a Hall element is required to control a synchronous motor. However, the position sensor is disadvantageously used in a control apparatus for a synchronous motor with respect to cost, reliability of the sensor, cumbersome wiring, and the like. From this viewpoint, a method of controlling a synchronous motor without using a position sensor has been proposed.
For example, as a method of calculating a rotational position and a rotational speed of a synchronous motor based on a mechanical constant such as an inertia, an induced voltage coefficient determined from magnetic flux or the like, and electric constants such as inductance and resistance of the synchronous motor, inventions disclosed in U.S. Pat. No. 5,296,793, U.S. Pat. No. 5,296,794, Japanese Patent Application Laid-Open No. 03-049589, Japanese Patent Application Laid-Open No. 03-049588, and the like are known.
As a method of calculating a rotational position and a rotational speed of a synchronous motor based on an induced voltage coefficient, which is a function of rotor magnetic flux and an electric constant, such as inductance and resistance of the synchronous motor, inventions disclosed in Japanese Patent Application Laid-Open No. 08-08286, Japanese Patent Application Laid-Open No. 09-191698, and the like are known
However, even though these methods are used, a mechanical constant such as inertia is unknown, or controllability is deteriorated when degaussing of a magnet is caused by heat generation from an electric motor.
On the other hand, a control method which can solve the above problem without requiring an induced voltage coefficient which is a function of a mechanical constant, such as inertia or rotor magnetic flux, is proposed in, e.g., xe2x80x9cPosition and Speed Sensorless Control of Brush-Less DC Motor Based on an Adaptive Observerxe2x80x9d The Journal of The Institute of Electrical Engineers of Japan Vol. D113, No. 5 (1993).
FIG. 15 shows a conventional control apparatus for a synchronous motor described in The Journal of The Institute of Electrical Engineers of Japan Vol. D113, No. 5. In this figure, reference numeral 1 denotes a synchronous motor, 2 denotes a current detector, 3 denotes an inverter, 4 denotes a current controller, 5 to 8 denote coordinate converters, 9 denotes an adaptive observer, and 10 denotes a rotational position computing unit.
The synchronous motor 1 has a permanent magnet as a rotor which has a rotor magnetic flux of pdr. An inductance Ld in the direction of the rotor magnetic flux (d-axis direction) is equal to an inductance Lq in a direction (q-axis direction) perpendicular to the direction of the rotor magnetic flux. These inductances are L each. A wire wound resistance of the synchronous motor 1 is R.
As is well known, when a synchronous motor is vector-controlled, an arbitrary value has been given as a d-axis current command id* on a rotational biaxial coordinate axis (d-q axis) in advance. As a q-axis current command iq* on the rotational biaxial coordinate axis (d-q axis), a value which is in proportional to a desired torque of the synchronous motor 1 has been given in advance.
The current controller 4 outputs a d-axis voltage command vd* and a q-axis voltage command vq* on the rotational biaxial coordinate axis (d-q axis) such that detection currents id and iq on the rotational biaxial coordinate axis (d-q axis) rotated in synchronism with a rotational position output from the rotational position computing unit 10 follow the d-axis current command id* and the q-axis current command iq*, respectively.
The coordinate converter 5 coordinate-converts the d-axis voltage command vd* and the q-axis voltage command vq* on the rotational biaxial coordinate axis (d-q axis) into an a-axis voltage command va* and a b-axis voltage command vb* on static biaxial coordinates (a-b axis) based on a cosine cos(th0) and a sine sin(th0) obtained from the rotational position computing unit 10.
The coordinate converter 6 coordinate-converts the a-axis voltage command va* and the b-axis voltage command vb* on the static biaxial coordinates (a-b axis) into three-phase voltage commands vu*, vv* and vw*. The inverter 3 applies three-phase voltages to the synchronous motor 1 in accordance with the three-phase voltage commands vu*, vv* and vw* obtained from the coordinate converter 8.
The current detectors 2 detect a U-phase current iu and a V-phase current iv of the synchronous motor 1. The coordinate converter 7 coordinate-converts the U-phase current iu and the V-phase current iv obtained from the current detectors 2 into an a-axis current ia and a b-axis current ib on the static biaxial coordinates (a-b axis).
The coordinate converter 8 outputs the a-axis current ia and the b-axis current ib on the static biaxial coordinates (a-b axis) and a d-axis current command id and a q-axis current command iq on the rotational biaxial coordinate axis (d-q axis) based on a cosine cos(th0) and a sine sin(th0) obtained from the rotational position computing unit 10.
The adaptive observer 9 outputs an a-axis estimated rotor magnetic flux par0 and a b-axis estimated rotor magnetic flux pbr0 on the static biaxial coordinates (a-b axis) and an estimated rotational speed wr0 based on the a-axis voltage command va* and the b-axis voltage command vb* on the static biaxial coordinates (a-b axis) and the a-axis current ia and the b-axis current ib on the static biaxial coordinates (a-b axis).
The rotational position computing unit 10 calculates the cosine cos(th0) and the sine sin(th0) of a rotational position th0 of an estimated magnetic flux vector from the a-axis estimated rotor magnetic flux par0 and the b-axis estimated rotor magnetic flux pbr0 on the static biaxial coordinates (a-b axis) according to the following equations (1) to (3),                               cos          ⁡                      (            th0            )                          =                  par0          pr0                                    (        1        )                                          sin          ⁡                      (            th0            )                          =                  pbr0          pr0                                    (        2        )            xe2x80x83pr0=√{square root over (par02+pbr02)}xe2x80x83xe2x80x83(3)
FIG. 16 is a diagram which shows the internal configuration of the adaptive observer 9 shown in FIG. 15. In this figure, reference numeral 11 denotes an electric motor model, 12 and 13 denotes subtractors, 14 denotes a speed identifier, 15 denotes a gain computing unit, and 16 denotes a deviation amplifier.
The electric motor model 11 calculates an a-axis estimated current ia0 and a b-axis estimated current ib0 on the static biaxial coordinates (a-b axis) and the a-axis estimated rotor magnetic flux par0 and the b-axis estimated rotor magnetic flux pbr0 based on the a-axis voltage command va* and the b-axis voltage command vb* on the static biaxial coordinates (a-b axis), the estimated rotational speed wr0, and deviations e1, e2, e3, and e4 (to be described later) according to the following equation (4),                                           ⅆ                          ⅆ              t                                ⁢                      (                                                                                                                                                                                                                  ia0                                                                                                                                          ib0                                                                                                                                                                                          par0                                                                                                                                          pbr0                                                      )                          =                                            (                                                                                          -                                              R                        L                                                                                                  0                                                        0                                                                              wr0                      L                                                                                                            0                                                                              -                                              R                        L                                                                                                                        -                                              wr0                        L                                                                                                  0                                                                                        0                                                        0                                                        0                                                                              -                      wr0                                                                                                            0                                                        0                                                        wr0                                                        0                                                              )                        ⁢                          (                                                                                                                                                                                                                                      ia0                                                                                                                                                    ib0                                                                                                                                                                                                          par0                                                                                                                                                          pbr0                                                              )                                +                                    (                                                                                          1                      L                                                                            0                                                                                        0                                                                              1                      L                                                                                                            0                                                        0                                                                                        0                                                        0                                                              )                        ⁢                          (                                                                    va                                                                              *                                              xe2x80x83                                                                                                                                  v                                                                              *                                              xe2x80x83                                                                                                        )                                -                      (                                                            e1                                                                              e2                                                                              e3                                                                              e4                                                      )                                              (        4        )            
The subtractor 12 outputs a result obtained by subtracting the a-axis current ia from the a-axis estimated current ia0 as an a-axis current deviation ea. The subtractor 13 outputs a result obtained by subtracting the b-axis current ib from the b-axis estimated current ib0 as a b-axis current deviation eb.
The speed identifier 14 outputs the estimated rotational speed wr0 based on the Par0, pbr0, ea, and eb according to the following equation (5),                     wr0        =                              (                          kp              +                              ki                s                                      )                    ⁢                      (                                          ea                ·                pbr0                            -                              eb                ·                par0                                      )                                              (        5        )            
The gain computing unit 15 outputs gains g1, g2, g3, and g4 based on the estimated rotational speed wr0 according to the following equations (6) to (9),                     g1        =                              -                          (                              k                -                1                            )                                ⁢                      R            L                                              (        6        )            xe2x80x83g2=(kxe2x88x921)wr0xe2x80x83xe2x80x83(7)
g3=kRxe2x80x83xe2x80x83(8)
g4=xe2x88x92kL wr0xe2x80x83xe2x80x83(9)
where k is an arbitrary real number larger than 1.
The deviation amplifier 16 amplifies the current deviations ea and eb by the gains g1, g2, g3, and g4 to output the deviations e1, e2, e3, and e4. More specifically, the deviation amplifier 16 outputs the deviations e1, e2, e3, and e4 to the electric motor model 11 according to the following equation (10), 1, an inductance on static biaxial coordinates changes depending on the position of a rotor.
The conventional control apparatus for a synchronous motor constitutes an adaptive observer on static biaxial coordinates and cannot handle an inductance as a constant value. For this reason, the control apparatus cannot be easily applied to the synchronous motor.
In the conventional control apparatus for a synchronous motor, gains g1, g2, g3, and g4 are determined such that the pole of the adaptive observer is in proportion to the pole of the synchronous motor. However, when the synchronous motor is driven at a low rotational speed, the pole of the adaptive observer decreases because the pole of the synchronous motor is small. Therefore, the response of an estimated magnetic flux is deteriorated, the characteristics of the control system itself is also deteriorated.
The feedback gains g1, g2, g3, and g4 are set such that the pole of the adaptive observer 9 is in proportion to the unique pole of the synchronous motor 1. However, when an estimated rotational speed deviates from an actual rotational speed, these gains are not appropriate to perform state estimation. For this reason, the actual rotational speed wr deviates from the estimated rotational speed wr0, and thereby the accuracy of magnetic flux estimation is deteriorated.
Therefore, it is an object of the present invention to provide a control apparatus for a synchronous motor which can constitute an adaptive observer on rotational two axes and can control the synchronous motor at a high rotational speed.
The control apparatus for a synchronous motor according to the present invention comprises a current detector which detects a current of a synchronous motor, a coordinate converter which coordinate-converts the current obtained from the current detector into a current on rotational biaxial coordinates (d-q axis) rotated at an angular frequency, a current controller which outputs a voltage command on the rotational biaxial coordinates (d-q axis) such that a current on the rotational biaxial coordinates (d-q axis) follows a current command on the rotational biaxial coordinates (d-q axis), a coordinate converter which coordinate-converts the voltage command on the rotational biaxial coordinates (d-q axis) obtained from the current controller into three-phase voltage commands, an adaptive observer which calculates the angular frequency, an estimated current of the synchronous motor, an estimated rotor magnetic flux, and an estimated rotational speed based on the current on the rotational biaxial coordinates (d-q axis) and the voltage command on the rotational biaxial coordinates (d-q axis), and an inverter which applies a voltage to the synchronous motor based on the voltage command. The adaptive observer calculates the angular frequency such that a q-axis component of the estimated rotor magnetic flux is zero.
According to this invention, since the adaptive observer calculates the angular frequency such that the q-axis component of the estimated rotor magnetic flux is zero, the adaptive observer can be constituted on the rotational two axes.
In the control apparatus for a synchronous motor according to the next invention based on the above invention, the adaptive observer has an electric motor model in which a salient-pole ratio is not 1.
According to this invention, since the adaptive observer has the electric motor model in which the salient-pole ratio is not 1, the synchronous motor can be controlled at a high rotational speed even by an inexpensive computing unit, and the scope of application can be expanded to a synchronous motor having salient-pole properties.
In the control apparatus for a synchronous motor according to the next invention based on the above invention, the adaptive observer has a feedback gain which is given by a function of the estimated rotational speed such that transmission characteristics from a rotational speed error of the synchronous motor to an estimated magnetic flux error are averaged in a frequency area.
According to this invention, since the adaptive observer has the feedback gain which is given by the function of the estimated rotational speed such that the transmission characteristics from the rotational speed error of the synchronous motor to the estimated magnetic flux error are averaged in the frequency area, the pole of the synchronous motor can be arbitrary set even if the synchronous motor is driven at a low rotational speed, and the synchronous motor can be stably controlled without deteriorating the accuracy of magnetic flux estimation.
In the control apparatus for a synchronous motor according to the next invention based on the above invention, the adaptive observer calculates an estimated rotational speed based on a q-axis component of a deviation between a current on the rotational biaxial coordinates (d-q axis) and the estimated current.
According to this invention, since the estimated rotational speed can be calculated based on the q-axis component of the deviation between the current on the rotational biaxial coordinates (d-q axis) and the estimated current, the number of times of multiplication and division required for calculation can be reduced by omitting a product between the q-axis component of the deviation between the current and the estimated current and an estimated rotor magnetic flux, and a calculation time can be shortened.
In the control apparatus for a synchronous motor according to the next invention based on the above invention, the adaptive observer calculates an estimated rotational speed based on a value obtained by dividing the q-axis component of the deviation between the current on the rotational biaxial coordinates (d-q axis) and the estimated current by the estimated rotor magnetic flux.
According to this invention, since the estimated rotational speed is calculated based on the value obtained by dividing the q-axis component of the deviation between the current on the rotational biaxial coordinates (d-q axis) and the estimated current by the estimated rotor magnetic flux, even though the rotor magnetic flux changes depending on a temperature, an estimated response of the rotational speed can be kept constant.
The control apparatus for a synchronous motor according to the next invention based on the above invention, includes a speed controller which outputs a current command on the rotational biaxial coordinates (d-q axis) such that the current command is equal to a rotational speed command based on at least one value of an estimated rotational speed obtained from the adaptive observer and the angular frequency.
According to this invention, since the speed controller which provides the current command on the rotational biaxial coordinates (d-q axis) such that the current command is equal to the rotational speed command based on at least one value of the estimated rotational speed obtained from the adaptive observer and the angular frequency is arranged, the synchronous motor can be controlled in speed.